#pragma once
#include "singleton_container.h"

class TestModule {
public:
    static std::shared_ptr<TestModule> GetInstance();
    TestModule() { printf("%s\n", __func__); }
    ~TestModule() { printf("%s\n", __func__); }

    int Test();

private:
    static inline std::shared_ptr<TestModule> instance = nullptr;
    static inline SingletonDelegator<TestModule> delegator;
};
